﻿using System.Collections;
using System.Collections.Generic;
using YamlDotNet.Serialization;
using YamlDotNet.Serialization.NamingConventions;
using UnityEngine;

public class AnimationDoc : DocPrimitive {

	[YamlMember(Alias = "Animation", ApplyNamingConventions = false)]
	public AnimationObj ao { get; set; }
}

public class AnimationObj {
	[YamlMember(Alias = "m_ObjectHideFlags", ApplyNamingConventions = false)]
	public int objectHideFlags { get; set; }

	[YamlMember(Alias = "m_PrefabParentObject", ApplyNamingConventions = false)]
	public Dictionary<string, int> prefabParent { get; set; } 

	[YamlMember(Alias = "m_PrefabInternal", ApplyNamingConventions = false)]
	public Dictionary<string, int> prefabInternal { get; set; }

	[YamlMember(Alias = "m_GameObject", ApplyNamingConventions = false)]
	public Dictionary<string, uint> gameObject { get; set; }

	[YamlMember(Alias = "m_Enabled", ApplyNamingConventions = false)]
	public int enabled { get; set; }

	[YamlMember(Alias = "serializedVersion", ApplyNamingConventions = false)]
	public int version { get; set; }

	[YamlMember(Alias = "m_Animation", ApplyNamingConventions = false)]
	public Dictionary<string, string> animation { get; set; }

	[YamlMember(Alias = "m_Animations", ApplyNamingConventions = false)]
	public List<AnimationContent> animationClips { get; set; }

	[YamlMember(Alias = "m_WrapMode", ApplyNamingConventions = false)]
	public int wrapMode { get; set; }

	[YamlMember(Alias = "m_PlayAutomatically", ApplyNamingConventions = false)]
	public int playAuto { get; set; }

	[YamlMember(Alias = "m_AnimatePhysics", ApplyNamingConventions = false)]
	public int animatePhysics { get; set; }

	[YamlMember(Alias = "m_CullingType", ApplyNamingConventions = false)]
	public int cullingTyp { get; set; }

}


public class AnimationContent {

	public Dictionary<string, string> clip { get; set; }
}